Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Add <BUILTIN_MODULES> Special Word #86

Merged
merged 3 commits into from
May 17, 2023
Merged

Conversation

fbartho
Copy link
Collaborator

@fbartho fbartho commented May 16, 2023

  • This allows users to specify a gap between built-ins and third-party in a slightly less wonky way, and the plugin's default importOrder & related documentation a bit clearer.
  • This also allows users to move the built-ins around relative to other imports. (Weakens our previous opinionated decision that built-ins should always be first).

@fbartho fbartho requested a review from IanVS May 16, 2023 19:31
- This allows users to specify a gap between built-ins and third-party in a slightly less wonky way.
- This also allows users to move the built-ins around relative to other imports.
Copy link
Owner

@IanVS IanVS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor suggestions, but nothing blocking. Nice improvement!

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
const result = new RegExp(regExp.replace(TYPES_SPECIAL_WORD, ''));
regexCache.set(regExp, result);
return result;
};
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice little perf improvement here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted also to parse importOrder and normalize it only once, but that requires a further cleanup because there’s logic that looks at the first entry in importOrder and does something if it’s a space.

I decided to submit this PR as-is and consider if it’s worth changing that at some future date.


importOrder = importOrder.map((g) =>
g === BUILTIN_MODULES_SPECIAL_WORD ? BUILTIN_MODULES_REGEX_STR : g,
);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do this map here, vs just injecting the regex str on line 25?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could inject the regex-str up on line 25, but it wouldn’t allow for us to remove the .map — if we want to allow users to have the built-in modules in a different place.

Here’s my thought process our code sort of looks like this:

// top-of-file-comment(s)
a-z builtin imports
a-z other-third-party
a-z relative imports
runtime.code()

I like gaps between my groups of imports, so we’d have this awkward leading empty string on the array [“”, ”<THIRD_PARTY_MODULES>”,… if there was no word for builtin modules.

And we’d never even be able to express “put a gap above built-ins, but after top-of-file comments” if we didn’t have that special word. — Unfortunately, we still can’t do that (yet) even if importOrder can express it. It would require further logic that I’m still interested in implementing; I think it’s just a (+-)1 on the shifting of the loc you recently added.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh right, I was neglecting to consider that we need to support both having the special word in the config and injecting it. The third-party special word is handled elsewhere.

Co-authored-by: Ian VanSchooten <ian.vanschooten@gmail.com>
@IanVS IanVS merged commit dcb19a0 into next May 17, 2023
@IanVS IanVS deleted the fb/builtin-modules-word branch May 17, 2023 17:08
kodiakhq bot referenced this pull request in timelessco/browser-js-library-template May 26, 2023
…#156)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`^3.7.2` -> `^4.0.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>ianvs/prettier-plugin-sort-imports</summary>

### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0)

#### What's Changed

This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility.  We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested).  See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes.

##### ⬆️ Breaking Changes

-   Build for Node 16+ ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Remove `importOrderBuiltinModulesToTop` (always true) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/60](https://github.com/IanVS/prettier-plugin-sort-imports/pull/60))
-   Remove `importOrderSeparation` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/62](https://github.com/IanVS/prettier-plugin-sort-imports/pull/62))
-   Remove `importOrderCaseInsensitive` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/63](https://github.com/IanVS/prettier-plugin-sort-imports/pull/63))
-   Remove `importOrderGroupNamespaceSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/64](https://github.com/IanVS/prettier-plugin-sort-imports/pull/64))
-   Remove `importOrderSortSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/65](https://github.com/IanVS/prettier-plugin-sort-imports/pull/65))
-   Remove `importOrderMergeDuplicateImports` option (always on) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/66](https://github.com/IanVS/prettier-plugin-sort-imports/pull/66))
-   Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/67](https://github.com/IanVS/prettier-plugin-sort-imports/pull/67))
-   Improve default sort order ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/83](https://github.com/IanVS/prettier-plugin-sort-imports/pull/83))

##### 🐛 Bug Fixes

-   Fix behavior around comments embedded in imports ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/71](https://github.com/IanVS/prettier-plugin-sort-imports/pull/71))
-   Preserve trailing comments on specifiers ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/80](https://github.com/IanVS/prettier-plugin-sort-imports/pull/80))
-   Preserve comments and blank lines at top-of-file (in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/82](https://github.com/IanVS/prettier-plugin-sort-imports/pull/82))
-   Prevent comment gap when re-arranging first import ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/85](https://github.com/IanVS/prettier-plugin-sort-imports/pull/85))
-   Fix: Top-of-file Comments get duplicated when moving runtime code ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/88](https://github.com/IanVS/prettier-plugin-sort-imports/pull/88))
-   Vue: Sort both script and setup script ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/90](https://github.com/IanVS/prettier-plugin-sort-imports/pull/90))
-   Vue and TypeScript: Use correct parser plugins ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/91](https://github.com/IanVS/prettier-plugin-sort-imports/pull/91))

##### ⚡️ Features

-   Add `<BUILTIN_MODULES>` Special Word ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/86](https://github.com/IanVS/prettier-plugin-sort-imports/pull/86))
-   Allow Explicit Separator after Top-of-file-comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/92](https://github.com/IanVS/prettier-plugin-sort-imports/pull/92))
-   Support babel-ts parser ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/97](https://github.com/IanVS/prettier-plugin-sort-imports/pull/97))

##### 🛠️ Repo Maintenance

-   Update dependencies, jest -> vitest ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Check formatting in CI ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/61](https://github.com/IanVS/prettier-plugin-sort-imports/pull/61))
-   Update to latest versions of Github Actions ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/73](https://github.com/IanVS/prettier-plugin-sort-imports/pull/73))
-   Add some more tests for comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/77](https://github.com/IanVS/prettier-plugin-sort-imports/pull/77))

##### 🧳 Dependencies

-   Drop javascript-natural-sort dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/28](https://github.com/IanVS/prettier-plugin-sort-imports/pull/28))
-   Drop lodash.clone dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/74](https://github.com/IanVS/prettier-plugin-sort-imports/pull/74))
-   Upgrade Babel to 7.21 ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/72](https://github.com/IanVS/prettier-plugin-sort-imports/pull/72))

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 12am and before 5am every weekday,every weekend" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/browser-js-library-template).
kodiakhq bot referenced this pull request in timelessco/browser-js-website-template May 26, 2023
…#109)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`^3.7.2` -> `^4.0.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>ianvs/prettier-plugin-sort-imports</summary>

### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0)

#### What's Changed

This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility.  We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested).  See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes.

##### ⬆️ Breaking Changes

-   Build for Node 16+ ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Remove `importOrderBuiltinModulesToTop` (always true) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/60](https://github.com/IanVS/prettier-plugin-sort-imports/pull/60))
-   Remove `importOrderSeparation` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/62](https://github.com/IanVS/prettier-plugin-sort-imports/pull/62))
-   Remove `importOrderCaseInsensitive` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/63](https://github.com/IanVS/prettier-plugin-sort-imports/pull/63))
-   Remove `importOrderGroupNamespaceSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/64](https://github.com/IanVS/prettier-plugin-sort-imports/pull/64))
-   Remove `importOrderSortSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/65](https://github.com/IanVS/prettier-plugin-sort-imports/pull/65))
-   Remove `importOrderMergeDuplicateImports` option (always on) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/66](https://github.com/IanVS/prettier-plugin-sort-imports/pull/66))
-   Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/67](https://github.com/IanVS/prettier-plugin-sort-imports/pull/67))
-   Improve default sort order ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/83](https://github.com/IanVS/prettier-plugin-sort-imports/pull/83))

##### 🐛 Bug Fixes

-   Fix behavior around comments embedded in imports ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/71](https://github.com/IanVS/prettier-plugin-sort-imports/pull/71))
-   Preserve trailing comments on specifiers ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/80](https://github.com/IanVS/prettier-plugin-sort-imports/pull/80))
-   Preserve comments and blank lines at top-of-file (in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/82](https://github.com/IanVS/prettier-plugin-sort-imports/pull/82))
-   Prevent comment gap when re-arranging first import ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/85](https://github.com/IanVS/prettier-plugin-sort-imports/pull/85))
-   Fix: Top-of-file Comments get duplicated when moving runtime code ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/88](https://github.com/IanVS/prettier-plugin-sort-imports/pull/88))
-   Vue: Sort both script and setup script ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/90](https://github.com/IanVS/prettier-plugin-sort-imports/pull/90))
-   Vue and TypeScript: Use correct parser plugins ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/91](https://github.com/IanVS/prettier-plugin-sort-imports/pull/91))

##### ⚡️ Features

-   Add `<BUILTIN_MODULES>` Special Word ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/86](https://github.com/IanVS/prettier-plugin-sort-imports/pull/86))
-   Allow Explicit Separator after Top-of-file-comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/92](https://github.com/IanVS/prettier-plugin-sort-imports/pull/92))
-   Support babel-ts parser ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/97](https://github.com/IanVS/prettier-plugin-sort-imports/pull/97))

##### 🛠️ Repo Maintenance

-   Update dependencies, jest -> vitest ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Check formatting in CI ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/61](https://github.com/IanVS/prettier-plugin-sort-imports/pull/61))
-   Update to latest versions of Github Actions ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/73](https://github.com/IanVS/prettier-plugin-sort-imports/pull/73))
-   Add some more tests for comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/77](https://github.com/IanVS/prettier-plugin-sort-imports/pull/77))

##### 🧳 Dependencies

-   Drop javascript-natural-sort dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/28](https://github.com/IanVS/prettier-plugin-sort-imports/pull/28))
-   Drop lodash.clone dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/74](https://github.com/IanVS/prettier-plugin-sort-imports/pull/74))
-   Upgrade Babel to 7.21 ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/72](https://github.com/IanVS/prettier-plugin-sort-imports/pull/72))

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 12am and before 5am every weekday,every weekend" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/browser-js-website-template).
kodiakhq bot referenced this pull request in timelessco/js-bottomsheet May 26, 2023
…#122)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`^3.7.2` -> `^4.0.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>ianvs/prettier-plugin-sort-imports</summary>

### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0)

#### What's Changed

This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility.  We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested).  See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes.

##### ⬆️ Breaking Changes

-   Build for Node 16+ ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Remove `importOrderBuiltinModulesToTop` (always true) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/60](https://github.com/IanVS/prettier-plugin-sort-imports/pull/60))
-   Remove `importOrderSeparation` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/62](https://github.com/IanVS/prettier-plugin-sort-imports/pull/62))
-   Remove `importOrderCaseInsensitive` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/63](https://github.com/IanVS/prettier-plugin-sort-imports/pull/63))
-   Remove `importOrderGroupNamespaceSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/64](https://github.com/IanVS/prettier-plugin-sort-imports/pull/64))
-   Remove `importOrderSortSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/65](https://github.com/IanVS/prettier-plugin-sort-imports/pull/65))
-   Remove `importOrderMergeDuplicateImports` option (always on) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/66](https://github.com/IanVS/prettier-plugin-sort-imports/pull/66))
-   Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/67](https://github.com/IanVS/prettier-plugin-sort-imports/pull/67))
-   Improve default sort order ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/83](https://github.com/IanVS/prettier-plugin-sort-imports/pull/83))

##### 🐛 Bug Fixes

-   Fix behavior around comments embedded in imports ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/71](https://github.com/IanVS/prettier-plugin-sort-imports/pull/71))
-   Preserve trailing comments on specifiers ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/80](https://github.com/IanVS/prettier-plugin-sort-imports/pull/80))
-   Preserve comments and blank lines at top-of-file (in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/82](https://github.com/IanVS/prettier-plugin-sort-imports/pull/82))
-   Prevent comment gap when re-arranging first import ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/85](https://github.com/IanVS/prettier-plugin-sort-imports/pull/85))
-   Fix: Top-of-file Comments get duplicated when moving runtime code ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/88](https://github.com/IanVS/prettier-plugin-sort-imports/pull/88))
-   Vue: Sort both script and setup script ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/90](https://github.com/IanVS/prettier-plugin-sort-imports/pull/90))
-   Vue and TypeScript: Use correct parser plugins ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/91](https://github.com/IanVS/prettier-plugin-sort-imports/pull/91))

##### ⚡️ Features

-   Add `<BUILTIN_MODULES>` Special Word ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/86](https://github.com/IanVS/prettier-plugin-sort-imports/pull/86))
-   Allow Explicit Separator after Top-of-file-comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/92](https://github.com/IanVS/prettier-plugin-sort-imports/pull/92))
-   Support babel-ts parser ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/97](https://github.com/IanVS/prettier-plugin-sort-imports/pull/97))

##### 🛠️ Repo Maintenance

-   Update dependencies, jest -> vitest ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Check formatting in CI ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/61](https://github.com/IanVS/prettier-plugin-sort-imports/pull/61))
-   Update to latest versions of Github Actions ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/73](https://github.com/IanVS/prettier-plugin-sort-imports/pull/73))
-   Add some more tests for comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/77](https://github.com/IanVS/prettier-plugin-sort-imports/pull/77))

##### 🧳 Dependencies

-   Drop javascript-natural-sort dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/28](https://github.com/IanVS/prettier-plugin-sort-imports/pull/28))
-   Drop lodash.clone dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/74](https://github.com/IanVS/prettier-plugin-sort-imports/pull/74))
-   Upgrade Babel to 7.21 ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/72](https://github.com/IanVS/prettier-plugin-sort-imports/pull/72))

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 12am and before 5am every weekday,every weekend" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/js-bottomsheet).
kodiakhq bot referenced this pull request in timelessco/node-ts-library-template May 26, 2023
…#79)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`3.7.2` -> `4.0.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>ianvs/prettier-plugin-sort-imports</summary>

### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0)

#### What's Changed

This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility.  We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested).  See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes.

##### ⬆️ Breaking Changes

-   Build for Node 16+ ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Remove `importOrderBuiltinModulesToTop` (always true) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/60](https://github.com/IanVS/prettier-plugin-sort-imports/pull/60))
-   Remove `importOrderSeparation` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/62](https://github.com/IanVS/prettier-plugin-sort-imports/pull/62))
-   Remove `importOrderCaseInsensitive` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/63](https://github.com/IanVS/prettier-plugin-sort-imports/pull/63))
-   Remove `importOrderGroupNamespaceSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/64](https://github.com/IanVS/prettier-plugin-sort-imports/pull/64))
-   Remove `importOrderSortSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/65](https://github.com/IanVS/prettier-plugin-sort-imports/pull/65))
-   Remove `importOrderMergeDuplicateImports` option (always on) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/66](https://github.com/IanVS/prettier-plugin-sort-imports/pull/66))
-   Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/67](https://github.com/IanVS/prettier-plugin-sort-imports/pull/67))
-   Improve default sort order ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/83](https://github.com/IanVS/prettier-plugin-sort-imports/pull/83))

##### 🐛 Bug Fixes

-   Fix behavior around comments embedded in imports ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/71](https://github.com/IanVS/prettier-plugin-sort-imports/pull/71))
-   Preserve trailing comments on specifiers ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/80](https://github.com/IanVS/prettier-plugin-sort-imports/pull/80))
-   Preserve comments and blank lines at top-of-file (in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/82](https://github.com/IanVS/prettier-plugin-sort-imports/pull/82))
-   Prevent comment gap when re-arranging first import ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/85](https://github.com/IanVS/prettier-plugin-sort-imports/pull/85))
-   Fix: Top-of-file Comments get duplicated when moving runtime code ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/88](https://github.com/IanVS/prettier-plugin-sort-imports/pull/88))
-   Vue: Sort both script and setup script ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/90](https://github.com/IanVS/prettier-plugin-sort-imports/pull/90))
-   Vue and TypeScript: Use correct parser plugins ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/91](https://github.com/IanVS/prettier-plugin-sort-imports/pull/91))

##### ⚡️ Features

-   Add `<BUILTIN_MODULES>` Special Word ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/86](https://github.com/IanVS/prettier-plugin-sort-imports/pull/86))
-   Allow Explicit Separator after Top-of-file-comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/92](https://github.com/IanVS/prettier-plugin-sort-imports/pull/92))
-   Support babel-ts parser ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/97](https://github.com/IanVS/prettier-plugin-sort-imports/pull/97))

##### 🛠️ Repo Maintenance

-   Update dependencies, jest -> vitest ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Check formatting in CI ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/61](https://github.com/IanVS/prettier-plugin-sort-imports/pull/61))
-   Update to latest versions of Github Actions ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/73](https://github.com/IanVS/prettier-plugin-sort-imports/pull/73))
-   Add some more tests for comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/77](https://github.com/IanVS/prettier-plugin-sort-imports/pull/77))

##### 🧳 Dependencies

-   Drop javascript-natural-sort dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/28](https://github.com/IanVS/prettier-plugin-sort-imports/pull/28))
-   Drop lodash.clone dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/74](https://github.com/IanVS/prettier-plugin-sort-imports/pull/74))
-   Upgrade Babel to 7.21 ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/72](https://github.com/IanVS/prettier-plugin-sort-imports/pull/72))

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 12am and before 5am on saturday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/node-ts-library-template).
kodiakhq bot referenced this pull request in timelessco/node-js-library-template Jun 2, 2023
…#71)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`3.7.2` -> `4.0.2`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>ianvs/prettier-plugin-sort-imports</summary>

### [`v4.0.2`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.2)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.1...v4.0.2)

#### What's Changed

-   Account for missing filepath by [@&#8203;IanVS](https://github.com/IanVS) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/104](https://github.com/IanVS/prettier-plugin-sort-imports/pull/104)

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.1...v4.0.2

### [`v4.0.1`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.1)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.0...v4.0.1)

#### What's Changed

-   Fix cli in Install section by [@&#8203;torn4dom4n](https://github.com/torn4dom4n) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/99](https://github.com/IanVS/prettier-plugin-sort-imports/pull/99)
-   Fix dollar sign ($) issue in Vue SFC by [@&#8203;istiak-tridip](https://github.com/istiak-tridip) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/101](https://github.com/IanVS/prettier-plugin-sort-imports/pull/101)

#### New Contributors

-   [@&#8203;torn4dom4n](https://github.com/torn4dom4n) made their first contribution in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/99](https://github.com/IanVS/prettier-plugin-sort-imports/pull/99)
-   [@&#8203;istiak-tridip](https://github.com/istiak-tridip) made their first contribution in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/101](https://github.com/IanVS/prettier-plugin-sort-imports/pull/101)

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.0...v4.0.1

### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0)

#### What's Changed

This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility.  We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested).  See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes.

##### ⬆️ Breaking Changes

-   Build for Node 16+ ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Remove `importOrderBuiltinModulesToTop` (always true) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/60](https://github.com/IanVS/prettier-plugin-sort-imports/pull/60))
-   Remove `importOrderSeparation` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/62](https://github.com/IanVS/prettier-plugin-sort-imports/pull/62))
-   Remove `importOrderCaseInsensitive` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/63](https://github.com/IanVS/prettier-plugin-sort-imports/pull/63))
-   Remove `importOrderGroupNamespaceSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/64](https://github.com/IanVS/prettier-plugin-sort-imports/pull/64))
-   Remove `importOrderSortSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/65](https://github.com/IanVS/prettier-plugin-sort-imports/pull/65))
-   Remove `importOrderMergeDuplicateImports` option (always on) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/66](https://github.com/IanVS/prettier-plugin-sort-imports/pull/66))
-   Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/67](https://github.com/IanVS/prettier-plugin-sort-imports/pull/67))
-   Improve default sort order ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/83](https://github.com/IanVS/prettier-plugin-sort-imports/pull/83))

##### 🐛 Bug Fixes

-   Fix behavior around comments embedded in imports ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/71](https://github.com/IanVS/prettier-plugin-sort-imports/pull/71))
-   Preserve trailing comments on specifiers ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/80](https://github.com/IanVS/prettier-plugin-sort-imports/pull/80))
-   Preserve comments and blank lines at top-of-file (in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/82](https://github.com/IanVS/prettier-plugin-sort-imports/pull/82))
-   Prevent comment gap when re-arranging first import ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/85](https://github.com/IanVS/prettier-plugin-sort-imports/pull/85))
-   Fix: Top-of-file Comments get duplicated when moving runtime code ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/88](https://github.com/IanVS/prettier-plugin-sort-imports/pull/88))
-   Vue: Sort both script and setup script ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/90](https://github.com/IanVS/prettier-plugin-sort-imports/pull/90))
-   Vue and TypeScript: Use correct parser plugins ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/91](https://github.com/IanVS/prettier-plugin-sort-imports/pull/91))

##### ⚡️ Features

-   Add `<BUILTIN_MODULES>` Special Word ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/86](https://github.com/IanVS/prettier-plugin-sort-imports/pull/86))
-   Allow Explicit Separator after Top-of-file-comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/92](https://github.com/IanVS/prettier-plugin-sort-imports/pull/92))
-   Support babel-ts parser ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/97](https://github.com/IanVS/prettier-plugin-sort-imports/pull/97))

##### 🛠️ Repo Maintenance

-   Update dependencies, jest -> vitest ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Check formatting in CI ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/61](https://github.com/IanVS/prettier-plugin-sort-imports/pull/61))
-   Update to latest versions of Github Actions ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/73](https://github.com/IanVS/prettier-plugin-sort-imports/pull/73))
-   Add some more tests for comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/77](https://github.com/IanVS/prettier-plugin-sort-imports/pull/77))

##### 🧳 Dependencies

-   Drop javascript-natural-sort dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/28](https://github.com/IanVS/prettier-plugin-sort-imports/pull/28))
-   Drop lodash.clone dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/74](https://github.com/IanVS/prettier-plugin-sort-imports/pull/74))
-   Upgrade Babel to 7.21 ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/72](https://github.com/IanVS/prettier-plugin-sort-imports/pull/72))

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 12am and before 5am on saturday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/node-js-library-template).
kodiakhq bot referenced this pull request in timelessco/recollect Jun 4, 2023
…#36)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`3.7.2` -> `4.0.2`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>ianvs/prettier-plugin-sort-imports</summary>

### [`v4.0.2`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.2)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.1...v4.0.2)

#### What's Changed

-   Account for missing filepath by [@&#8203;IanVS](https://github.com/IanVS) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/104](https://github.com/IanVS/prettier-plugin-sort-imports/pull/104)

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.1...v4.0.2

### [`v4.0.1`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.1)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.0...v4.0.1)

#### What's Changed

-   Fix cli in Install section by [@&#8203;torn4dom4n](https://github.com/torn4dom4n) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/99](https://github.com/IanVS/prettier-plugin-sort-imports/pull/99)
-   Fix dollar sign ($) issue in Vue SFC by [@&#8203;istiak-tridip](https://github.com/istiak-tridip) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/101](https://github.com/IanVS/prettier-plugin-sort-imports/pull/101)

#### New Contributors

-   [@&#8203;torn4dom4n](https://github.com/torn4dom4n) made their first contribution in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/99](https://github.com/IanVS/prettier-plugin-sort-imports/pull/99)
-   [@&#8203;istiak-tridip](https://github.com/istiak-tridip) made their first contribution in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/101](https://github.com/IanVS/prettier-plugin-sort-imports/pull/101)

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.0...v4.0.1

### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0)

##### What's Changed

This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility.  We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested).  See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes.

##### ⬆️ Breaking Changes

-   Build for Node 16+ ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Remove `importOrderBuiltinModulesToTop` (always true) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/60](https://github.com/IanVS/prettier-plugin-sort-imports/pull/60))
-   Remove `importOrderSeparation` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/62](https://github.com/IanVS/prettier-plugin-sort-imports/pull/62))
-   Remove `importOrderCaseInsensitive` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/63](https://github.com/IanVS/prettier-plugin-sort-imports/pull/63))
-   Remove `importOrderGroupNamespaceSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/64](https://github.com/IanVS/prettier-plugin-sort-imports/pull/64))
-   Remove `importOrderSortSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/65](https://github.com/IanVS/prettier-plugin-sort-imports/pull/65))
-   Remove `importOrderMergeDuplicateImports` option (always on) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/66](https://github.com/IanVS/prettier-plugin-sort-imports/pull/66))
-   Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/67](https://github.com/IanVS/prettier-plugin-sort-imports/pull/67))
-   Improve default sort order ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/83](https://github.com/IanVS/prettier-plugin-sort-imports/pull/83))

##### 🐛 Bug Fixes

-   Fix behavior around comments embedded in imports ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/71](https://github.com/IanVS/prettier-plugin-sort-imports/pull/71))
-   Preserve trailing comments on specifiers ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/80](https://github.com/IanVS/prettier-plugin-sort-imports/pull/80))
-   Preserve comments and blank lines at top-of-file (in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/82](https://github.com/IanVS/prettier-plugin-sort-imports/pull/82))
-   Prevent comment gap when re-arranging first import ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/85](https://github.com/IanVS/prettier-plugin-sort-imports/pull/85))
-   Fix: Top-of-file Comments get duplicated when moving runtime code ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/88](https://github.com/IanVS/prettier-plugin-sort-imports/pull/88))
-   Vue: Sort both script and setup script ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/90](https://github.com/IanVS/prettier-plugin-sort-imports/pull/90))
-   Vue and TypeScript: Use correct parser plugins ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/91](https://github.com/IanVS/prettier-plugin-sort-imports/pull/91))

##### ⚡️ Features

-   Add `<BUILTIN_MODULES>` Special Word ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/86](https://github.com/IanVS/prettier-plugin-sort-imports/pull/86))
-   Allow Explicit Separator after Top-of-file-comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/92](https://github.com/IanVS/prettier-plugin-sort-imports/pull/92))
-   Support babel-ts parser ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/97](https://github.com/IanVS/prettier-plugin-sort-imports/pull/97))

##### 🛠️ Repo Maintenance

-   Update dependencies, jest -> vitest ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Check formatting in CI ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/61](https://github.com/IanVS/prettier-plugin-sort-imports/pull/61))
-   Update to latest versions of Github Actions ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/73](https://github.com/IanVS/prettier-plugin-sort-imports/pull/73))
-   Add some more tests for comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/77](https://github.com/IanVS/prettier-plugin-sort-imports/pull/77))

##### 🧳 Dependencies

-   Drop javascript-natural-sort dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/28](https://github.com/IanVS/prettier-plugin-sort-imports/pull/28))
-   Drop lodash.clone dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/74](https://github.com/IanVS/prettier-plugin-sort-imports/pull/74))
-   Upgrade Babel to 7.21 ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/72](https://github.com/IanVS/prettier-plugin-sort-imports/pull/72))

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/bookmark-tags).
kodiakhq bot referenced this pull request in timelessco/next-ts-app-template Jun 11, 2023
…#161)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`3.7.2` -> `4.0.2`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>ianvs/prettier-plugin-sort-imports</summary>

### [`v4.0.2`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.2)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.1...v4.0.2)

#### What's Changed

-   Account for missing filepath by [@&#8203;IanVS](https://github.com/IanVS) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/104](https://github.com/IanVS/prettier-plugin-sort-imports/pull/104)

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.1...v4.0.2

### [`v4.0.1`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.1)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.0...v4.0.1)

#### What's Changed

-   Fix cli in Install section by [@&#8203;torn4dom4n](https://github.com/torn4dom4n) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/99](https://github.com/IanVS/prettier-plugin-sort-imports/pull/99)
-   Fix dollar sign ($) issue in Vue SFC by [@&#8203;istiak-tridip](https://github.com/istiak-tridip) in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/101](https://github.com/IanVS/prettier-plugin-sort-imports/pull/101)

#### New Contributors

-   [@&#8203;torn4dom4n](https://github.com/torn4dom4n) made their first contribution in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/99](https://github.com/IanVS/prettier-plugin-sort-imports/pull/99)
-   [@&#8203;istiak-tridip](https://github.com/istiak-tridip) made their first contribution in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/101](https://github.com/IanVS/prettier-plugin-sort-imports/pull/101)

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.0...v4.0.1

### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0)

[Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0)

#### What's Changed

This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility.  We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested).  See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes.

##### ⬆️ Breaking Changes

-   Build for Node 16+ ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Remove `importOrderBuiltinModulesToTop` (always true) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/60](https://github.com/IanVS/prettier-plugin-sort-imports/pull/60))
-   Remove `importOrderSeparation` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/62](https://github.com/IanVS/prettier-plugin-sort-imports/pull/62))
-   Remove `importOrderCaseInsensitive` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/63](https://github.com/IanVS/prettier-plugin-sort-imports/pull/63))
-   Remove `importOrderGroupNamespaceSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/64](https://github.com/IanVS/prettier-plugin-sort-imports/pull/64))
-   Remove `importOrderSortSpecifiers` option ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/65](https://github.com/IanVS/prettier-plugin-sort-imports/pull/65))
-   Remove `importOrderMergeDuplicateImports` option (always on) ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/66](https://github.com/IanVS/prettier-plugin-sort-imports/pull/66))
-   Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/67](https://github.com/IanVS/prettier-plugin-sort-imports/pull/67))
-   Improve default sort order ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/83](https://github.com/IanVS/prettier-plugin-sort-imports/pull/83))

##### 🐛 Bug Fixes

-   Fix behavior around comments embedded in imports ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/71](https://github.com/IanVS/prettier-plugin-sort-imports/pull/71))
-   Preserve trailing comments on specifiers ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/80](https://github.com/IanVS/prettier-plugin-sort-imports/pull/80))
-   Preserve comments and blank lines at top-of-file (in [https://github.com/IanVS/prettier-plugin-sort-imports/pull/82](https://github.com/IanVS/prettier-plugin-sort-imports/pull/82))
-   Prevent comment gap when re-arranging first import ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/85](https://github.com/IanVS/prettier-plugin-sort-imports/pull/85))
-   Fix: Top-of-file Comments get duplicated when moving runtime code ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/88](https://github.com/IanVS/prettier-plugin-sort-imports/pull/88))
-   Vue: Sort both script and setup script ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/90](https://github.com/IanVS/prettier-plugin-sort-imports/pull/90))
-   Vue and TypeScript: Use correct parser plugins ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/91](https://github.com/IanVS/prettier-plugin-sort-imports/pull/91))

##### ⚡️ Features

-   Add `<BUILTIN_MODULES>` Special Word ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/86](https://github.com/IanVS/prettier-plugin-sort-imports/pull/86))
-   Allow Explicit Separator after Top-of-file-comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/92](https://github.com/IanVS/prettier-plugin-sort-imports/pull/92))
-   Support babel-ts parser ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/97](https://github.com/IanVS/prettier-plugin-sort-imports/pull/97))

##### 🛠️ Repo Maintenance

-   Update dependencies, jest -> vitest ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/59](https://github.com/IanVS/prettier-plugin-sort-imports/pull/59))
-   Check formatting in CI ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/61](https://github.com/IanVS/prettier-plugin-sort-imports/pull/61))
-   Update to latest versions of Github Actions ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/73](https://github.com/IanVS/prettier-plugin-sort-imports/pull/73))
-   Add some more tests for comments ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/77](https://github.com/IanVS/prettier-plugin-sort-imports/pull/77))

##### 🧳 Dependencies

-   Drop javascript-natural-sort dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/28](https://github.com/IanVS/prettier-plugin-sort-imports/pull/28))
-   Drop lodash.clone dependency ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/74](https://github.com/IanVS/prettier-plugin-sort-imports/pull/74))
-   Upgrade Babel to 7.21 ([https://github.com/IanVS/prettier-plugin-sort-imports/pull/72](https://github.com/IanVS/prettier-plugin-sort-imports/pull/72))

**Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/next-ts-app).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants